package com.relytosoft.mizar.media.analyze.services.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import com.relytosoft.mizar.media.analyze.api.entity.system.AyPersonGroup;

import java.util.List;
import java.util.Set;

/**
 * @author lj
 * @date 2022/5/12 11:44
 */
public interface AyPersonGroupService extends IService<AyPersonGroup> {


    /**
     * 根据人像ID查询出三方人像和三方库对应关系
     *
     * @param personIds 人像ID
     * @return 三方人像和三方库关系
     */
    List<AyPersonGroup> selectGroupAndFace(List<Integer> personIds);


    /**
     * 根据人像id和库id查询信息
     *
     * @param groupIds 库id集合
     * @param faceId   人像id
     * @return AyPersonGroup集合
     */
    List<AyPersonGroup> selectAyPersonGroup(Set<Integer> groupIds, Integer faceId);


    /**
     * 根据人像ID和库id查询改记录是否存在
     *
     * @param personId 人ID
     * @param groupId  库ID
     * @return AyPersonGroup
     */
    AyPersonGroup selectByPersonAndGroup(Integer personId, Integer groupId);

    /**
     * 根据人像ID查询改人像关联的的库ID
     *
     * @param personId 人像ID
     * @return 组ID
     */
    List<Integer> selectByPersonId(Integer personId);


    /**
     * 根据人ID和库ID删除关联信息
     *
     * @param personId 人ID
     * @param list     库id集合
     */
    boolean removeByPersonIdAndGroupId(Integer personId, List<Integer> list);
}
